package String;
/*
==是进行对象的地址值比较，如果确实需要字符串的内容比较，可以使用两个方法

public boolean equals （Object obj）:参数可以是任何对象，只有参数是一个字符串并且内容相同的才会给true，否则返回false。

注意事项：
1.任何对象都能用Object 进行接收。
2.equals方法具有对称性，也就是a.equals(b)和b.equals(a)效果一样。
3.如果比较双方一个常量一个变量，推荐把常量字符串写在前面。
推荐：
“abc“.equals（str）  不推荐：str.equals(”abc“)

public boolean
 */
public class

Demo03StringEquals {

    public static void main(String[] args) {
        String  str1 = "hello";
        String  str2 = "hello";
        char[] charArray ={'h','e','l','l','o'};
        String str3 = new String(charArray);

        System.out.println(str1.equals(str2));
        System.out.println(str2.equals(str3));
        System.out.println(str3.equals("hello"));
        System.out.println("hello".equals(str1));

        String str4 ="hello";
        System.out.println(str1.equals(str4));
        System.out.println("================");

        String str5 = null;
        System.out.println("abc".equals(str5));//推荐
      //  System.out.println(str5.equals("abc"));//不推荐
        System.out.println("===============");

        String stra = "Java";
        String strb = "java";
        System.out.println(stra.equals(strb));
        System.out.println(stra.equalsIgnoreCase(strb));//忽略大小写

        //注意，只有英文字母区分大小写，其他都不区分大小写

        System.out.println("abc-123".equalsIgnoreCase("abc壹123"));

    }
}
